package top.wshape1.shiziapi.project.service;

import com.baomidou.mybatisplus.extension.service.IService;
import top.wshape1.shiziapi.project.domain.Folder;
import top.wshape1.shiziapi.project.domain.vo.CreateDocVo;

import java.util.List;

/**
 * @author Wshape1
 * @description 针对表【t_project_folder】的数据库操作Service
 * @since 2023-10-22 18:21:50
 */
public interface FolderService extends IService<Folder> {

    /**
     * 创建一个目录
     *
     * @param createDocVo
     * @return
     */
    Long create(CreateDocVo createDocVo);

    /**
     * 重命名目录
     *
     * @param id
     * @param name
     */
    void rename(Long id, String name);

    /**
     * 删除一个目录
     *
     * @param id
     */
    void delete(Long id);

    /**
     * 获取某一目录下的第一层子目录ID
     *
     * @param parentFolderId
     * @return
     */
    List<Long> getSubFolderIds(Long parentFolderId);

    /**
     * 更新order和parentFolderId
     *
     * @param id
     * @param order
     * @param parentFolderId
     */
    void updateOrderAndParentFolderId(Long id, Integer order, Long parentFolderId);

    /**
     * 只更新order
     *
     * @param id
     * @param order
     */
    void updateOrder(Long id, Integer order);

    /**
     * 清空文件夹
     *
     * @param projectId
     */
    void clearProject(long projectId);
}
